
class CCTMXLayer : public CCSpriteBatchNode
{
    void setLayerSize(CCSize val);
    CCSize getLayerSize();

    void setMapTileSize(CCSize val);
    CCSize getMapTileSize();

    void setTiles(unsigned int* pval);
    unsigned int* getTiles();

    void setTileSet(CCTMXTilesetInfo* pval);
    CCTMXTilesetInfo* getTileSet();

    void setLayerOrientation(unsigned int val);
    unsigned int getLayerOrientation();

    void setProperties(CCDictionary* pval);
    CCDictionary* getProperties();

    void releaseMap();

    CCSprite* tileAt(CCPoint tileCoordinate);
    unsigned int  tileGIDAt(CCPoint tileCoordinate);
    unsigned int  tileGIDAt(CCPoint tileCoordinate, ccTMXTileFlags* flags);
    void setTileGID(unsigned int gid, CCPoint tileCoordinate);
    void setTileGID(unsigned int gid, CCPoint tileCoordinate, ccTMXTileFlags flags);
    void removeTileAt(CCPoint tileCoordinate);
    CCPoint positionAt(CCPoint tileCoordinate);
    CCString *propertyNamed(const char *propertyName);
    void setupTiles();

    void setLayerName(const char *layerName);
    const char* getLayerName();

    static CCTMXLayer * create(CCTMXTilesetInfo *tilesetInfo, CCTMXLayerInfo *layerInfo, CCTMXMapInfo *mapInfo);
};
